function  FormatUTCDateToLocal(utcTimeString, format = 'YYYY-MM-DD HH:mm:ss') {
	if (utcTimeString == null) {
		return ""
	}
				
	const date = new Date(utcTimeString);
			
	// 检查日期是否有效
	if (isNaN(date.getTime())) {
		throw new Error('无效的时间格式');
	}
				
	// 提取时间组件，包括毫秒
	const options = {
		YYYY: date.getFullYear(),
		MM: String(date.getMonth() + 1).padStart(2, '0'),
		DD: String(date.getDate()).padStart(2, '0'),
		HH: String(date.getHours()).padStart(2, '0'),
		mm: String(date.getMinutes()).padStart(2, '0'),
		ss: String(date.getSeconds()).padStart(2, '0'),
		SSS: String(date.getMilliseconds()).padStart(3, '0'), // 毫秒（3位，带前导零）
		M: date.getMonth() + 1,       // 不带前导零的月份
		D: date.getDate(),            // 不带前导零的日期
		H: date.getHours(),           // 不带前导零的小时
		m: date.getMinutes(),         // 不带前导零的分钟
		s: date.getSeconds(),         // 不带前导零的秒钟
		S: date.getMilliseconds()     // 不带前导零的毫秒
	};
			// 替换格式字符串中的占位符
	return format.replace(/YYYY|MM|DD|HH|mm|ss|SSS|M|D|H|m|s|S/g, match => options[match]);
}


// 辅助函数：获取小数位数
function getDecimalPlaces(s) {
	if (!s || s === '-') return 0;
	const parts = s.split('.');
	return parts.length === 2 ? parts[1].length : 0;
}

//将两个表示小数的字符串（如 "12.345" 和 "67.891"）相加，并四舍五入保留两位小数
function  AddAndRound(aStr, bStr) {
	// 强制转换为字符串（处理数字、null、undefined 等）
	aStr = String(aStr).trim();
	bStr = String(bStr).trim();

	// 如果转换后是 "null" 或 "undefined"，需要特殊处理
	if (aStr === 'null' || aStr === 'undefined' || bStr === 'null' || bStr === 'undefined') {
	throw new Error('Invalid input: null or undefined');
	}


	// 简单验证是否为数字格式（允许负号）
	if (!/^-?\d*\.?\d*$/.test(aStr) || !/^-?\d*\.?\d*$/.test(bStr)) {
	throw new Error('Invalid number string');
	}

	const aDecimals = getDecimalPlaces(aStr);
	const bDecimals = getDecimalPlaces(bStr);
	const maxDecimals = Math.max(aDecimals, bDecimals);

	const factor = Math.pow(10, maxDecimals);
	const aInt = Math.round(parseFloat(aStr) * factor);
	const bInt = Math.round(parseFloat(bStr) * factor);
	const sum = (aInt + bInt) / factor;

	return sum.toFixed(2);
}

// 方法1：使用映射表直接转换
function ConvertCurrencyCodeToSymbol(code) {
	const currencyMap = {
		'USD': '$',    // 美元
		'EUR': '€',    // 欧元
		'GBP': '£',    // 英镑
		'JPY': '¥',    // 日元
		'CNY': '¥',    // 人民币
		'AUD': 'A$',   // 澳元
		'CAD': 'C$'    // 加元
	};
	// 不区分大小写处理
	return currencyMap[code.toUpperCase()] || code;
}


function CoverColorWithStatus(status) {
  switch (status) {
    case "Available":
		return "#32BB78";
	
    case "Charging":
		return "#1D965C";
	
    case "Reserved":
		return "#FFA03A"; // 绿色：可用类状态

    case "Preparing":
		return "#FFB200"; // 橙色：准备中

    case "Finishing":
		return "#466EFF"; // 蓝色：结束中

    case "Unavailable":
		return "#7F8190"; // 灰色：不可用

    case "Faulted":
		return "#D54941"; // 红色：故障（原为绿色，疑似错误）
		
	case "Completed":
        return "#7F8190";
		
	case "Stopping":
		return "#ED3475"; // 红色：故障（原为绿色，疑似错误）
		
	case "Idle":
		return "#EC6619";
    
    default:
		return "#D54941"; // 默认红色：未知状态
  }
}


export {
	FormatUTCDateToLocal,
	AddAndRound,
	ConvertCurrencyCodeToSymbol,
	CoverColorWithStatus
}; // 确保有这行代码